home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Grab Bag
/
Shareware Grab Bag.iso
/
011
/
nswppc18.arc
/
NSWP2.WS
< prev
next >
Wrap
Text File
|
1987-02-06
|
28KB
|
723 lines
NSWP - A disk maintenance utility.
Dave Rand
10232 - 160 Street
Edmonton, Alberta
Canada
T5P 3E9
.paè.he NSWP 2 - A disk maintenance utility
.fo - # -
I N D E X
Page
Introduction ........................ 3
Overview of NSWP ............... 4
Invoking NSWP .................. 5
Single file commands ................ 6
Help ........................... 7
Forward and Backward ........... 7
Exiting ........................ 8
Finding a file ................. 8
Viewing and Printing ........... 8
Deleting a file ................ 8
Copying ........................ 9
Renaming ....................... 9
The Space command .............. 11
The Log command ................ 11
Introduction to Multifile Commands .. 12
The Tag command ................ 12
Wildcard tagging ............... 13
The Untag command .............. 13
The Mass copy command .......... 13
After the mass (Again) ......... 14
Erasing files .................. 14
Squeezing and Unsqueezing files. 14
Setting file status ............ 15
Epilogue ............................ 16
Credits ............................. 16
Contributions ....................... 16
.paèIntroduction
NSW╨á i≤ ne≈ disδ utilit∙ thaε caε replacσ man∙ oµ thσá morσ ì
commoε utilitie≤ tha⌠ arσ used¼ sucΦ a≤ STAT¼ PIP¼ USQ¼ SQ¼ TYPE¼ ì
PRINT¼á SWEEP¼á DISK7¼á PROT¼á anΣá others«á Iε onl∙ 12╦ oµ disδ ì
space¼ i⌠ replace≤ ove≥ 100╦ oµ utilities!
NSW╨ i≤ writteε entirel∙ iε assembl∙ language¼á anΣ wil∞ ruε ì
oε an∙ CP/═ 2.x¼á 3.° o≥ MP/═ baseΣ systeφ witΦ n∩ changes« Sincσ ì
i⌠ i≤ codeΣ iε 808░ assembler¼á an∙ 8080¼á 808╡ o≥ Z8░ compatiblσ ì
processo≥ wil∞ serve« Notσ tha⌠ thi≤ prograφ WIL╠ NOTé ruε oε CP/═ ì
1.4.
Wheεá NSW╨á wa≤á conceived¼á thσ dominan⌠ filσá utilit∙á wa≤ ì
SWEEP¼á anΣ thu≤ NSW╨ i≤ synta° compatiblσ witΦ SWEEP¼á bu⌠á witΦ ì
man∙á extensions«á Thi≤á allow≤á yo⌡ t∩ directl∙ renamσá NSW╨á t∩ ì
SWEEP¼ iµ yo⌡ s∩ desire¼ witΦ n∩ retraininτ period.
╔á hopσ tha⌠ yo⌡ enjo∙ thi≤ program¼á anΣ usσ i⌠á well«á An∙ ì
problems¼ o≥ suggestion≤ ma∙ bσ directeΣ t∩ myselµ a⌠ thσ addres≤ ì
oε thσ firs⌠ page¼ o≥ oε onσ oµ thσ followinτ RCP/Ms:
Edmonton RCP/M - (403) 454-6093 (300 or 1200 baud)
Stadium RCP/M - (403) 479-3450 (300 baud only)
or voice at:
(403) 484-4114
Disclaimer and warning
Whilσ thi≤ prograφ ha≤ beeε testeΣ oε man∙ systems¼á ╔á wil∞ ì
havσá n∩á liabilit∙á o≥ responsibilt∙ t∩ thσ use≥á o≥á an∙á othe≥ ì
persoεá o≥ entit∙ witΦ respec⌠ t∩ an∙ liability¼á los≤ o≥á damagσ ì
caused¼á o≥á alledgeΣ t∩ bσ causeΣ directl∙ o≥ indirectl∙ b∙ thi≤ ì
program¼á including¼á bu⌠á no⌠ limiteΣ to¼á an∙á interruptioεá oµ ì
service¼á los≤ oµ business¼ anticipator∙ profit≤ o≥ consequentia∞ ì
damage≤ resultinτ froφ thσ usσ oµ thi≤ program.
Furthermore¼á althougΦ thi≤ prograφ ha≤ beeε placeΣ int∩ thσ ì
publiπ domain¼á ╔ retaiε al∞ copyright≤ t∩ thi≤ program¼á botΦ iε ì
thσ U.S.┴ anΣ iε Canada¼á anΣ pursuan⌠ t∩ this¼á thi≤ prograφ MA┘ ì
NO╘á B┼á SOL─ B┘ AN┘ PARTY unles≤ specificall∙ authorizeΣ b∙á thσ ì
author¼á Davσ Rand¼á iε writing¼ previou≤ t∩ thσ firs⌠ cop∙ beinτ ì
sold«á A≤á well¼á thi≤ prograφ MA┘ NO╘ B┼ INCLUDE─ I╬á AN┘á OTHE╥ ì
PACKAG┼ FO╥ SALE¼á eveε iµ thi≤ prograφ i≤ indicateΣ a≤ beinτ 'iε ì
thσ publiπ domain'« Al∞ oµ thσ abovσ applie≤ t∩ botΦ thσ origina∞ ì
a≤á wel∞á a≤ derived¼á o≥ modifieΣ copie≤ oµá thσá original«á An∙ ì
modifieΣá copie≤á oµá thi≤ prograφ MUS╘ NO╘á havσá thσá copyrigh⌠ ì
noticσ violated¼ changeΣ o≥ altered.
Pleasσ repor⌠ an∙ copyrigh⌠ violation≤ t∩ thσ author¼ a⌠ onσ ì
of the above telephone numbers. Thank you.
.paè NSWP Overview
NSW╨ i≤ ß director∙ anΣ filσ manipulatioε program«á WitΦ it¼ ì
yo⌡ caε copy¼á delete¼á rename¼á unsqueezσ anΣ squeezσ files« Thσ ì
documentatioεá followinτá i≤á spli⌠ int∩ tw∩á majo≥á sections║á ┴ ì
tutoria∞á fo≥ thσ inexperienced¼á anΣ ßá referencσá section«á Thσ ì
referencσá normall∙ wil∞ bσ useΣ iε conjunctioε witΦ thσá prograφ ì
t∩á answe≥ specifiπ question≤ regardinτ NSWP«á Thσ tutoria∞ i≤á ß ì
broaΣá coveragσá oµá al∞ oµ thσ functions¼á anΣá shoulΣá bσá reaΣ ì
througΦ a⌠ leas⌠ once.
Thσ mos⌠ importan⌠ thinτ t∩ remembe≥ wheε usinτ NSW╨ i≤ tha⌠ ì
i⌠á provide≤ ß lis⌠ oµ you≥ file≤ iε ALPHABETICA╠á order«á Movinτ ì
arounΣá iε thi≤ lis⌠ i≤ quitσ easy¼á anΣ wil∞ sooε becomσá seconΣ ì
nature.
Iεá thi≤á documentation¼á al∞ use≥ inpu⌠ i≤á underlined«á A≤ ì
well¼áá wheεáá thσáá "currentóá filσá i≤áá referenceΣáá iεáá thi≤ ì
documentation¼á i⌠ mean≤ thσ filσ jus⌠ t∩ thσ lef⌠ oµ you≥ input« ì
Thi≤á "currentóá filσá i≤ ofteε referreΣ t∩ a≤ thσ filσá yo⌡á arσ ì
"on".
.paè Invoking NSWP
T∩á makσ effectivσ usσ oµ NSWP¼á yo⌡ mus⌠ kno≈á thσá variou≤ ì
option≤á availablσ t∩ yo⌡ wheε yo⌡ invokσ NSWP«á Herσ arσ somσ oµ ì
thσ options:
A>NSWP
Thi≤á forma⌠ simpl∙ load≤ NSWP¼á anΣ scan≤ thσ defaul⌠ drivσ ì
anΣá use≥ fo≥ filenames«á Oncσ insidσ NSWP¼á yo⌡ ma∙ changσ t∩á ß ì
differen⌠á drivσá and/o≥á user¼á bu⌠ wheε yo⌡ exi⌠á yo⌡á wil∞á bσ ì
returneΣ t∩ thσ drive/use≥ tha⌠ yo⌡ calleΣ NSW╨ from.
A>NSWP *.COM
Thi≤ forma⌠ load≤ NSW╨ anΣ scan≤ thσ curren⌠ drivσ anΣá use≥ ì
fo≥á al∞ filename≤ witΦ thσ extensioε "COM"«á Notσ tha⌠ NSW╨á caε ì
finΣá systeφ file≤ a≤ well¼á s∩ n∩ additiona∞ informatioε neeΣ bσ ì
given.
A>NSWP B:*.COM *
Thσá presencσ oµ thσ seconΣ asterisδ indicate≤ t∩ NSW╨á tha⌠ ì
yo⌡ wisΦ t∩ scaε al∞ use≥ area≤ oµ thσ indicateΣ disδá drive«á Iε ì
thi≤ case¼ al∞ "COMó file≤ oε al∞ use≥ area≤ oε drivσ B.
Combination≤á oµ thσ abovσ arσ acceptable¼á anΣ yo⌡ ma∙ eveε ì
loτ t∩ al∞ use≥ areas¼á anΣ finΣ al∞ file≤ witΦ thσ specificatioε ì
"*.¬ *".
Oncσá insidσá NSW╨ yo⌡ arσ presenteΣ witΦá ßá menu¼á theεá ß ì
repor⌠ oµ whicΦ drivσ anΣ use≥ yo⌡ arσ loggeΣ to¼á ho≈ mucΦ spacσ ì
i≤á takeεá b∙ thσ file≤ yo⌡ havσ specified¼á ho≈ man∙ file≤á havσ ì
beeε founΣ witΦ thσ specification≤ given¼á anΣ ho≈ mucΦ spacσá i≤ ì
lef⌠ oε thσ disk« ┴ samplσ follows:
Drive A0: 596K in 36 files. 735K free.
┴á specia∞ forma⌠ oµ thi≤ linσ show≤ tha⌠ yo⌡ arσ loggeΣá t∩ ì
al∞ use≥ areas:
Drive B*: 950K in 234 files. 2956K free.
From this point, you may execute any of the menu options.
┴á specia∞á displa∙á occur≤ iµ n∩ file≤ arσ founΣá witΦá thσ ì
specificatioεá yo⌡ havσ given¼á o≥ iµ therσ arσ n∩ file≤á iεá thσ ì
giveε drive/use≥ area(s):
No files.
Thi≤á displa∙ ma∙ als∩ occu≥ iµ yo⌡ deletσ al∞ thσ file≤ ou⌠ ì
oµ ß giveε specification« Wheε thi≤ occurs¼ you≥ men⌡ choice≤ arσ ì
limiteΣ t∩ ONL┘ S¼á L¼á o≥ X«á Thi≤ allow≤ yo⌡ t∩ seσ thσá freσ ì
Spacσ oε ß drive¼á t∩ Loτ t∩ anothe≥ drive/user¼á o≥ t∩ eXit«á N∩ ì
other choices are valid, nor will they be accepted.
.paèCommanΣ Structure
Therσ arσ tw∩ primar∙ type≤ oµ command≤ iε NSWP║á thosσ tha⌠ ì
ac⌠á oεá onσ filσ anΣ thosσ tha⌠ ac⌠ oε man∙ files«á Wσá wil∞á g∩ ì
througΦá theφ both«á Beforσ doinτ tha⌠ though¼á let'≤ tr∙á movinτ ì
arounΣ iε NSW╨ first.
T∩ movσ iε NSWP¼ yo⌡ mus⌠ firs⌠ understanΣ tha⌠ thσ file≤ oε ì
you≥á selecteΣá drive/use≥ wil∞ bσ presenteΣ t∩ yo⌡ iεá ßá sorteΣ ì
manner«á Thσá file≤á arσ sorteΣ iεá thi≤á order║á Filename¼á Filσ ì
extension¼ use≥ area:
1. B0: -WORK .001 0K :
2. B0: ARCADD .COM 4K :
3. B0: ARCCOPY .COM 2K :
A≤ yo⌡ caε see¼ thσ file≤ arσ numbereΣ fo≥ you≥ convenience« ì
Yo⌡ ma∙ no⌠ directl∙ usσ thesσ numbers«á A≤ yo⌡ caε see¼ thσ filσ ì
sizσ i≤ als∩ showε (roundeΣ t∩ thσ neares⌠ blocδ size).
Notσá tha⌠á iµ yo⌡ havσ enableΣ thσ reversσá vide∩á sequencσ ì
(seσá Epilog)¼á yo⌡á ma∙ seσ somσ oµ thσ letter≤ iε thσá filenamσ ì
printeΣá iε reversσ video«á Thσ char⌠ belo≈ show≤ ho≈á t∩á decodσ ì
thi≤ information«
FFFFFFFF RSA
12345678 /YR
|||||||| OSC
4. B0: ARCDEL .COM 2K :
A≤ yo⌡ caε see¼á thi≤ look≤ confusing« Really¼ though¼ i⌠ i≤ ì
not«á Thσá tag≤ F1-F╕ normall∙ arσ no⌠ used¼á bu⌠ NSW╨ allow≤ yo⌡ ì
se⌠ F1-F┤ fo≥ you≥ owε use«á Thσ R/╧ taτ mean≤ tha⌠ thσ filσá ma∙ ì
bσ read¼ bu⌠ no⌠ writteε to« Thσ SY╙ taτ mean≤ tha⌠ thσ filσ doe≤ ì
no⌠ appea≥ iε norma∞ DI╥ listings¼ anΣ iε CP/═ 3¼ MP═ anΣ CP/═ 8╢ ì
als∩ mean≤ tha⌠ thi≤ filσ i≤ avaiablσ t∩ al∞ use≥ areas«á Thσ AR├ ì
taτ mean≤ that¼á iµ set¼ thσ filσ ha≤ beeε backeΣ u≡ sincσ i⌠ wa≤ ì
last accessed.
No≈ tha⌠ yo⌡ understanΣ ho≈ file≤ arσ presented¼á wσ caεá g∩ ì
througΦ ß samplσ session« Remember¼ use≥ inpu⌠ i≤ underlined.
.pa èA>nswp b:
NSWEEP - Version 2.xx 10/22/1983
(c) Dave Rand, 1983
Edmonton, Alberta
Drive B0: 850K in 64 files. 118K free.
1. B0: -WORK .001 0K : <SP>
2. B0: ARCADD .COM 4K : <SP>
3. B0: ARCCOPY .COM 2K : <CR>
4. B0: ARCDEL .COM 2K : <CR>
5. B0: ARCDIR .COM 2K : b
4. B0: ARCDEL .COM 2K : b
3. B0: ARCCOPY .COM 2K : b
2. B0: ARCADD .COM 4K : b
1. B0: -WORK .001 0K : x
A>
Help
A⌠ an∙ point¼ yo⌡ ma∙ reques⌠ thσ maiε hel≡ men⌡ b∙ pressinτ ì
'?'.
1. B0: -WORK .001 0K : ?
NSWEEP - Version 2.xx 10/22/1983
(c) Dave Rand, 1983
Edmonton, Alberta
A - Retag files | Q - Squeeze/Unsqeeze tagged files
B - Back one file | R - Rename file(s)
C - Copy file | S - Check remaining space
D - Delete file | T - Tag file for transfer
E - Erase T/U files | U - Untag file
F - Find file | V - View file
L - Log new disk/user | W - Wildcard tag of files
M - Mass file copy | Y - Set file status.
P - Print file | ? - Display this help
X - Exit to CP/M | cr, sp - Forward one file
Moving forward and backward
A≤ yo⌡ caε see¼á thσ tw∩ mos⌠ commoε command≤ wil∞ bσ movinτ ì
forwarΣ anΣ backward≤ througΦ thσ directory« Eithe≥ thσ SPAC┼ ba≥ ì
(<SP>)¼á o≥ thσ RETUR╬ ke∙ (<CR>⌐ ma∙ bσ useΣ t∩ movσ forward« T∩ ì
movσ backwards¼ simpl∙ usσ thσ 'Bº key« Notσ tha⌠ al∞ command≤ iε ì
NSW╨ caε bσ eithe≥ iε uppe≥ o≥ lowercase«á Internally¼á lowercasσ ì
wil∞á bσá converteΣá t∩ uppercase«á Iµ yo⌡ reacΦ thσ enΣá oµá thσ ì
director∙á witΦ eithe≥ command¼á yo⌡ wil∞ bσ "wrappeΣ aroundóá t∩ ì
thσ othe≥ enΣ automatically.
èExiting
T∩ exit¼á jus⌠ usσ thσ 'Xº commanΣ a≤ showε above« Thi≤ wil∞ ì
returε yo⌡ t∩ thσ samσ drivσ anΣ use≥ areß tha⌠ yo⌡ invokeΣá NSW╨ ì
from¼ regardles≤ oµ anythinτ yo⌡ ma∙ havσ donσ iε NSWP.
Finding a file
Sincσ yo⌡ ma∙ havσ man∙ hundred≤ oµ file≤ selected¼á yo⌡ ma∙ ì
wisΦá t∩á movσá rapidl∙ t∩ ß particula≥ file«á Yo⌡á ma∙á d∩á thi≤ ì
througΦ thσ 'F'¼ o≥ FIN─ command.
1. B0: -WORK .001 0K : f Which file? BASCOM
8. B0: BASCOM .COM 32K :
Thσá FinΣá commanΣ alway≤ start≤ lookinτ froφá entr∙á numbe≥ ì
one« Yo⌡ ma∙ usσ thσ standarΣ CP/═ synta° fo≥ wildcardinτ (eg║ t∩ ì
finΣ thσ firs⌠ .HE╪ file¼á yo⌡ ma∙ usσ *.HEX)¼ anΣ als∩ notσ tha⌠ ì
thσá FinΣ commanΣ wil∞ fil∞ al∞ blanδ space≤ witΦ questioε marks« ì
Thi≤á make≤ thσ searcΦ string≤ "B*.*"¼á "B"¼á anΣ "B??????.óá al∞ ì
finΣ thσ firs⌠ filσ beginninτ witΦ "B"«á A≤ yo⌡á experiment¼á yo⌡ ì
wil∞ finΣ othe≥ interestinτ use≤ fo≥ thi≤ command.
A⌠á thi≤á point¼á yo⌡á no≈á kno≈ ho≈ t∩á movσá througΦá you≥ ì
directory¼á botΦ rapidl∙ anΣ onσ ste≡ a⌠ ß time« Let'≤ movσ oε t∩ ì
somσ morσ usefu∞ commands.
Viewing and Printing a file
Thσ Vie≈ command¼á invokeΣ witΦ ß 'V'¼ wil∞ typσ thσ curren⌠ ì
filσ ont∩ thσ screen¼ unsqueezinτ thσ filσ iµ required« Notσ tha⌠ ì
thi≤ commanΣ wil∞ NO╘ preven⌠ yo⌡ froφ listinτ AN┘ typσ oµá file¼ ì
s∩á yo⌡á mus⌠á usσ you≥ owε judgemen⌠ oε wha⌠ caε anΣá canno⌠á bσ ì
listed«á A⌠ thσ enΣ oµ eacΦ pagσ oε thσ screen¼á vie≈ wil∞á stop¼ ì
anΣ allo≈ yo⌡ t∩ abor⌠ thσ viewinτ witΦ ß ^├ o≥ ß ^X«á T∩ ge⌠ onσ ì
morσ linσ froφ thσ file¼á hi⌠ thσ spacσ bar« T∩ ge⌠ anothe≥ page¼ ì
hi⌠ thσ <CR╛ o≥ RETUR╬ key.
Thσ Prin⌠ command¼ invokeΣ witΦ ß 'P'¼ wil∞ senΣ thσ curren⌠ ì
file¼á witΦá n∩á modification≤á o≥ paging¼á t∩ thσá curren⌠á LST║ ì
device«á Yo⌡á ma∙á abor⌠ thσ prin⌠ witΦ ß ^├á o≥á ^X«á Al∞á othe≥ ì
feature≤ oµ thσ Vie≈ commanΣ apply.
Deleting a file
Yo⌡ caε deletσ thσ curren⌠ filσ jus⌠ b∙ hittinτ thσ 'Dº key« ì
Beforσ deletioε occurs¼ yo⌡ wil∞ bσ prompted.
12. B0: CDP1 . 40K : d Delete file? y
12. B0: DEAD .DAT 100K :
è Iµá an∙ repl∙ othe≥ thaε 'yº o≥ 'Yº i≤ giveε thσ filσ i≤ no⌠ ì
deleted«á Iµ thσ filσ i≤ deleted¼ i⌠ i≤ removeΣ froφ thσ lis⌠ anΣ ì
thσ nex⌠ filσ i≤ giveε thσ curren⌠ file'≤ number«
If the file is a Read Only file, you will be prompted again:
12. B0: CDP1 . 40K : d Delete file? y R/O. Delete? y
12. B0: DEAD .DAT 100K :
Copying a file
While on any file, you may copy that file to:
A) Another name, on the same drive/user
B) Another name, on a different drive/user
C) The same name, on a different drive/user
NSW╨á wil∞á preven⌠á yo⌡ froφ copyinτ ßá filσá t∩á thσá samσ ì
drive/use≥á tha⌠á thσ sourcσ filσ reside≤ on«á Othe≥á thaεá that¼ ì
therσ arσ n∩ restriction≤ oε wherσ yo⌡ wisΦ thσ filσ t∩ be«á Iµ ß ì
filσá exist≤á oε thσ samσ drive/use≥ tha⌠ yo⌡ wisΦ t∩á placσá thσ ì
destinatioεá file¼á thσá existinτ filσ i≤ deleteΣá automatically¼ ì
eveεá iµá i⌠á i≤ ReaΣ Only«á Wheε NSW╨ copie≤á ßá file¼á al∞á thσ ì
attribute≤ oµ thσ origina∞ filσ arσ passeΣ oε t∩ thσá destinatioε ì
file«á Thus¼á iµ ß filσ i≤ ß SYS¼á R/╧ file¼á NSW╨ wil∞ causσ thσ ì
destinatioεá filσá t∩ bσ SYS¼á R/╧ afte≥ thσ filσ cop∙ ha≤á takeε ì
place.
12« B0║ CDP▒ « 40╦ ║ π Cop∙ t∩ (filespec)┐ C9:BACK.CD╨
Iµ yo⌡ wisΦ t∩ preservσ thσ namσ oµ thσ file¼á yo⌡ ma∙á jus⌠ ì
ente≥ thσ destinatioε drive/use≥ par⌠ oµ thσ filespeπ (eg« C9║ iε ì
thσá precedinτ examplσ woulΣ havσ copieΣ thσ filσ t∩ drivσ ├ use≥ ì
9¼á retaininτ thσ namσ CDP1)« Jus⌠ enterinτ thσ drivσ par⌠ oµ thσ ì
filespeπá cause≤á NSW╨ t∩ retaiε thσ use≥ numbe≥á oµá thσá sourcσ ì
file.
Iµ thσ filenamσ i≤ followeΣ b∙ ß space¼ theε ß "V"¼ thσ filσ ì
wil∞ bσ verif∙ reaΣ afte≥ i⌠ i≤ written«á NSW╨ maintain≤ ß CR├ oµ ì
thσ filσ a≤ i⌠ i≤ writinτ thσ file¼ anΣ verifie≤ thi≤ CRC.
Renaming files
The Rename command ('R') may be used to:
A) Change the name of one file
B) Change the names of many files
C) Change the user number of one file
D) Change the user number of many files
To just change the name of one file, the syntax is simple:
12« B0║ CDP▒ « 40╦ ║ r New name, or *? CDP2
12. B0: CDP2 . 40K :
è You may also change the user number of the file, as follows:
12« B0║ CDP▒ « 40╦ ║ r New name, or *? B1:CDP2
12. B1: CDP1 . 40K :
Notσá tha⌠ iµ al∞ use≥ area≤ arσ no⌠ specifieΣ iε thσá logoε ì
oµ NSWP¼á thσ filσ ma∙ no⌠ bσ showε oε you≥ lis⌠ wheε renaminτ t∩ ì
anothe≥ use≥ area.
T∩ changσ ß grou≡ oµ file≤ froφ onσ namσ t∩ another¼ yo⌡ ma∙ ì
ente≥ thσ followinτ commanΣ a⌠ an∙ file:
9. B0: BASIC .COM 24K : r New name, or *? *
Old name? *.HEX
New name? *.BAK
A⌠á thi≤á poin⌠á al∞ file≤ witΦ thσ extensioε .HE╪á wil∞á bσ ì
renameΣá t∩ thσ samσ filenamσ bu⌠ witΦ thσá extensioεá .BAK«á Yo⌡ ì
wil∞ seσ ß runninτ displa∙ oε thσ screeε a≤ eacΦ filσ i≤ renamed« ì
An∙á valiΣ wildcarΣ ma∙ bσ useΣ t∩ selec⌠ thσ sourcσá files¼á anΣ ì
thσ destinatioε file≤ wil∞ takσ onσ characte≥ froφ thσ sourcσ fo≥ ì
eacΦá '?ºá iεá thσ name«á Aε asterisδ qualifie≤á a≤á fillinτá thσ ì
remainde≥ oµ thσ fielΣ witΦ '?'«á Iµ thσ destinatioε filσ exists¼ ì
thσ renamσ i≤ no⌠ made.
.paè Yo⌡á ma∙á als∩ choosσ t∩ renamσ ß grou≡ oµ file≤ t∩á anothe≥ ì
use≥ area¼ optionall∙ changinτ thei≥ name≤ a≤ well:
9. B0: BASIC .COM 24K : r New name, or *? *
Old name? *.HEX
New name? B1:*.BAK
Thi≤ commanΣ wil∞ renamσ al∞ .HE╪ file≤ oε drivσ ┬ use≥ ░ t∩ ì
thσá samσ filename¼á bu⌠ witΦ thσ extensioε .BAK¼á anΣ placσá thσ ì
resultan⌠ filσ iε use≥ 1«á Yo⌡ ma∙ wan⌠ t∩ tr∙ thi≤ commanΣ ß fe≈ ì
time≤ t∩ ge⌠ thσ hanτ oµ it¼ bu⌠ i⌠ i≤ extremel∙ powerful.
The Space command
Thσá Spacσ commanΣ ('S'⌐ simpl∙ ask≤ yo⌡ fo≥ ßá drivσá code¼ ì
theεá tell≤á yo⌡á thσ remaininτ spacσ oε thσ drivσá yo⌡á specify« ì
Beforσ doinτ thσ spacσ check¼ ß drivσ rese⌠ i≤ performed¼ s∩ fee∞ ì
freσ t∩ changσ disks.
The Log Command
Thσ Loτ commanΣ ('L'⌐ allow≤ yo⌡ t∩ changσ you≥ director∙ t∩ ì
anothe≥ drivσ o≥ user«á Additionally¼ i⌠ allow≤ yo⌡ t∩ re-specif∙ ì
thσ wildcarΣ masδ jus⌠ likσ enterinτ thσ NSW╨ prograφ froφá CP/M« ì
A≤ well¼á thσ drivσ systeφ i≤ reset¼á s∩ agaiε yo⌡ shoulΣ bσ ablσ ì
t∩á changσá t∩ ß differen⌠ diskettσ a⌠ thi≤ poin⌠ o≥á t∩á anothe≥ ì
par⌠á oµá thσ samσ diskette«á Wheε thσ Loτ commanΣ i≤á used¼á thσ ì
instruction≤ arσ reprinteΣ fo≥ review.
16. B0: DD .COM 4K : l New drive/user/mask? A14:*.HEX
NSWEEP - Version 2.xx 10/22/1983
(c) Dave Rand, 1983
Edmonton, Alberta
Drive A14: 44K in 2 files. 1118K free.
1. A14:NSWP .HEX 22K:
.paè Introduction to Multifile commands
No≈ tha⌠ al∞ thσ command≤ tha⌠ affec⌠ singlσ file≤ havσ beeε ì
described¼á i⌠á i≤á timσ t∩ introducσ thσá concep⌠á oµá Multifilσ ì
commands« Thesσ command≤ arσ one≤ tha⌠ affec⌠ a≤ fe≈ a≤ onσ o≥ a≤ ì
man∙ a≤ al∞ oµ thσ file≤ oε ß singlσ disk« T∩ affec⌠ thesσ files¼ ì
though¼á wσá mus⌠ havσ somσ wa∙ oµ describinτ whicΦ file≤ neeΣ t∩ ì
bσ affected«á CP/═ ha≤ ß wa∙ t∩ d∩ this¼á usinτ "wildcards"« Thi≤ ì
program¼ oε thσ othe≥ hand¼ use≤ thσ concep⌠ oµ ß filσ "tag".
The Tag command
Tagginτ ß file¼á iε it≤ simples⌠ form¼á caε bσá accomplisheΣ ì
jus⌠á b∙á depressinτá thσá 'Tº ke∙ wheε thσá filσá t∩á bσá taggeΣ ì
appears«á Wha⌠á exactl∙ i≤ ß tag┐á ┴ taggeΣ filσ i≤ ß filσ iε thσ ì
lis⌠á oµ filename≤ tha⌠ ha≤ aε asterisδ nex⌠ t∩ thσá coloεá afte≥ ì
thσ namσ oµ thσ file¼ a≤ showε below.
9. B0: BASIC .COM 24K :*
┴ taggeΣ filσ i≤ differen⌠ froφ aε untaggeΣ filσ iε tha⌠ yo⌡ ì
ma∙á no≈á reques⌠ aε operatioε tha⌠ deal≤ witΦ severa∞á unrelateΣ ì
file≤ (eg«á File≤ tha⌠ wil∞ no⌠ matcΦ usinτ onl∙ onσ wildcard)« ┴ ì
samplσ "tagó sessioε i≤ shown:
9. B0: BASIC .COM 24K : t Tagged files = 24K ( 23K).
10. B0: BRUN .COM 16K : t Tagged files = 40K ( 39K).
Notσá tha⌠á thσ "Tó commanΣ automaticall∙ perform≤á ßá "movσ ì
forwardó operation.
T∩á thσ righ⌠ oµ thσ "TaggeΣ filesó messagσ tw∩ number≤á arσ ì
displayed« Thσ number≤ arσ thσ tota∞ size¼ iε K¼ oµ thσ file≤ yo⌡ ì
havσá taggeΣ s∩ far«á Thi≤ i≤ usefu∞ if¼á fo≥á example¼á yo⌡á arσ ì
movinτ file≤ froφ onσ sizσ oµ diskettσ t∩ another¼á smaller¼ sizσ ì
diskette«á Iµá thσá sourcσ disδ hold≤ 500K¼á anΣ thσá destinatioε ì
hold≤ 256K¼á yo⌡ caε sto≡ thσ tagginτ operatioε wheε you≥ sizσ i≤ ì
jus⌠ les≤ thaε 256K«á Thσ taτ functioε iε itselµ doe≤ no⌠ perforφ ì
an∙á operation¼á othe≥ thaε t∩ marδ thσ filσ fo≥ ß futurσá "massó ì
operation.
B∙á no≈ thσ astutσ reade≥ wil∞ noticσ tha⌠ ╔á havσá cleverl∙ ì
skippeΣá ove≥ thσ functioε oµ thσ seconΣ numbe≥ display¼á thσ onσ ì
iεá parenthesis«á Thi≤ numbe≥ i≤ thσ combineΣ sizσ oµ thσá taggeΣ ì
files¼á I╬á 1╦ BLOCKS«á Iµ yo⌡ arσ usinτ ß compute≥á systeφá tha⌠ ì
support≤á man∙ differen⌠ disδ sizes/formats¼á o≥ ß systeφ witΦá ß ì
harΣá disδ attached¼á yo⌡ ma∙ alread∙ kno≈ tha⌠ CP/═ caε allocatσ ì
storagσá onl∙ iε "BLOCKS"¼á anΣ tha⌠ thesσ "BLOCKSó ma∙ bσ u≡á t∩ ì
16╦ iε length« Thi≤ mean≤ tha⌠ NSW╨ woulΣ sho≈ ß filσ containing¼ ì
say¼ 51▓ byte≤ iε information¼ a≤ beinτ u≡ t∩ 16╦ long¼ dependinτ ì
oε you≥ computer«á Thσ seconΣ numbe≥ iε thσ taτ displa∙ show≤ ho≈ ì
mucΦ storagσ thσ cumulativσ file≤ woulΣ takσ iµ the∙ werσá storeΣ ì
oε ß singlσ sided¼ singlσ density¼ 8ó diskette.
.paèWildcard tagging
Anothe≥ wa∙ t∩ taτ file≤ i≤ thσ wildcarΣ taτ function«á Thi≤ ì
functioε accept≤ ß CP/═ typσ wildcarΣ anΣ proceed≤ t∩ taτ al∞ thσ ì
file≤ tha⌠ matcΦ thσ wildcard«á T∩ invokσ this¼á jus⌠ hi⌠ 'Wº anΣ ì
yo⌡ wil∞ bσ prompteΣ witΦ thσ messagσ 'WhicΦ files┐á '« Ente≥ an∙ ì
CP/═ wildcard¼á righ⌠ dowε t∩ ß uniquσ filename¼ anΣ iµ tha⌠ filσ ì
exist≤ i⌠ wil∞ bσ taggeΣ anΣ displayed.
Untagging files
Iµá yo⌡ caε taτ ß file¼á yo⌡ mus⌠ bσ ablσ t∩ Untaτ ß filσ a≤ ì
well.
9. B0: BASIC .COM 24K :*u Tagged files = 16K ( 16K).
10. B0: BRUN .COM 16K :*
A≤á yo⌡ caε see¼á thσ untaτ functioε subtract≤á thσá curren⌠ ì
file'≤á sizσá froφá thσ total¼á theε display≤ thσá tota∞á oµá thσ ì
remaininτ files.
The mass copy command
No≈á tha⌠ wσ havσ ß numbe≥ oµ file≤ "tagged"¼á wha⌠ d∩ wσ d∩ ì
witΦ them┐á Well¼ thσ Mas≤ cop∙ functioε i≤ onσ oµ thosσ tha⌠ ac⌠ ì
oε man∙ files« It≤ purposσ i≤ t∩ cop∙ thσ taggeΣ file(s⌐ froφ onσ ì
drive/use≥ areß t∩ anothe≥ drive/user.
12. B0: CDP1 . 40K : m
Copy to drive/user? A14: V
Copying --> B0: BRUN .COM to A14: with verify
Verifying --> file ok.
Thσá ╓ i≤ optional¼á anΣ i⌠ indicate≤ tha⌠ yo⌡ wisΦ t∩á havσ ì
thσ filσ verifieΣ afte≥ i⌠ i≤ written.
A≤á yo⌡ caε see¼á thσ file≤ havσ beeε sen⌠ t∩ drivσ A¼á use≥ ì
14«á Iµ yo⌡ wisΦ thσ taggeΣ file≤ t∩ residσ iε thσ samσ use≥ areß ì
a≤ thσ sourcσ file≤ afte≥ thσ copy¼ d∩ no⌠ specif∙ ß use≥ areß iε ì
thσá Mas≤ command«á Thi≤ wil∞ causσ NSW╨ t∩ pu⌠ thσ filσá iεá thσ ì
samσ use≥ areß a≤ thσ sourcσ file.
NSW╨ wil∞ no⌠ allo≈ yo⌡ t∩ cop∙ ß filσ t∩ thσ samσ drivσ anΣ ì
use≥ areß a≤ thσ source« Thσ cop∙ i≤ simpl∙ no⌠ made.
.paèAfter the mass
Afte≥ an∙ mas≤ filσ operation¼á thσ tag≤ arσ "resetó a≤ eacΦ ì
filσ i≤ copied«á Visually¼á the∙ changσ froφ ß "*ó t∩ ß "#"«á Thσ ì
file≤á arσá logicall∙ untagged¼á anΣ wil∞ responΣ a≤á such«á But¼ ì
sincσá NSW╨á remember≤ them¼á yo⌡ caε automaticall∙á retaτá thesσ ì
files«á Thi≤ i≤ usefu∞ if¼ fo≥ example¼ yo⌡ neeΣ t∩ cop∙ thσ samσ ì
file≤á t∩á ßá numbe≥ oµ differen⌠ diskette≤ o≥ use≥á area≤á oεá ß ì
drive« T∩ invokσ this¼ usσ thσ "Aó command.
12. B0: CDP1 . 40K : a
Retagging--> B0: BRUN .COM Tagged files = 16K ( 16K)
Erasing files
Yo⌡ ma∙ wan⌠ t∩ cop∙ ß grou≡ oµ files¼ theε deletσ theφ froφ ì
thσ sourcσ disδ afte≥ thσ cop∙ ha≤ beeε made« T∩ d∩ this¼ yo⌡ caε ì
usσ eithe≥ thσ "Có commanΣ t∩ copy¼á followeΣ b∙ thσ "Dó command¼ ì
whicΦ i≤ tedious¼á o≥ ß combinatioε oµ thσ "T"¼ "M"¼ "A"¼ anΣ thσ ì
"Eó commands«á Thσ ┼ commanΣ Erase≤ taggeΣ o≥ untaggeΣ files¼á a⌠ ì
you≥ option¼ oε ß globa∞ scale.
12. B0: CDP1 . 40K : e
Erase Tagged or Untagged files (T/U)? t
Do you wish to be prompted (Y/N/A)? n
Deleting --> B0: BRUN .COM
Iµá yo⌡ specif∙ UntaggeΣ files¼á thσ untaggeΣ file≤ wil∞á bσ ì
erased«á Yo⌡á ma∙ wisΦ t∩ bσ prompteΣ beforσ eacΦ filσ i≤á t∩á bσ ì
deleted¼ anΣ yo⌡ caε d∩ thi≤ viß thσ seconΣ question.
Squeezing and Unsqueezing files
Thσá 'Qº commanΣ allow≤ yo⌡ t∩ Squeezσ anΣ Unsqueezσá taggeΣ ì
files«á Thi≤ filσ squeezσ prograφ i≤ compatiblσ witΦ thσ origina∞ ì
squeeze/unsqueezσ program≤ writteε iε thσ 'Cº languagσ b∙ RicharΣ ì
Greenlaw« After hitting Q, you will see the prompt:
Squeeze, Unsqueeze or Reverse (S/U/R)?
Afte≥á answerinτ thi≤ skill-testinτ question¼á yo⌡á wil∞á bσ ì
askeΣá whicΦ drive/use≥ yo⌡ wisΦ t∩ placσ thσ destinatioεá files« ì
Thσ synta° herσ i≤ thσ samσ a≤ fo≥ thσ Movσ command¼ excep⌠ i⌠ i≤ ì
permissiblσá t∩á 'Qº thσ file≤ bacδ t∩ thσ samσá drive/use≥á tha⌠ ì
they originated.
.paè Wheεá ╤ i≤ invoked¼á yo⌡ arσ askeΣ iµ yo⌡ wisΦá t∩á Squeeze¼ ì
Unsqueezσá o≥ Reverse«á ┴ carriagσ returε herσ wil∞ returε yo⌡ t∩ ì
thσ commanΣ linσ oµ NSWP«
Iµá yo⌡á selec⌠á ╙ fo≥ Squeeze¼á al∞ taggeΣá file≤á wil∞á bσ ì
examineΣá t∩á seσá iµ i⌠ i≤ "worthó squeezinτá them«á File≤á tha⌠ ì
exibi⌠ AN┘ spacσ reduction¼á eveε iµ i⌠ i≤ onl∙ onσ sector¼á wil∞ ì
bσ squeezed« Iµ thσ file≤ i≤ no⌠ "worthó squeezing¼ thσ filσ wil∞ ì
simpl∙ bσ copieΣ t∩ thσ destinatioε drive/user.
Iµá yo⌡á selec⌠ ╒ fo≥ Unsqueeze¼á al∞ taggeΣ file≤á wil∞á bσ ì
examineΣ t∩ seσ iµ the∙ arσ squeezed«á Iµ the∙ are¼á the∙ wil∞ bσ ì
unsqueezed¼á anΣ moveΣ t∩ thσ destinatioε drive/user« Iµ the∙ arσ ì
not squeezed, then they are simply copied.
Iµá yo⌡ selec⌠ ╥ fo≥ Reverse¼á al∞ file≤ tha⌠á arσá squeezeΣ ì
wil∞á bσá unsqueezed¼á anΣ al∞ file≤ tha⌠ arσ unsqueezeΣ wil∞á bσ ì
squeezeΣá (iµá i⌠á i≤ wortΦ it)¼á anΣ moveΣá t∩á thσá destinatioε ì
drive/user.
Thσá mos⌠ attractivσ featurσ oµ thσ ╤ commanΣ iε genera∞á i≤ ì
thσ abilit∙ t∩ Squeezσ file≤ ONL┘ iµ i⌠ i≤ "worthó it« Thi≤ mean≤ ì
tha⌠á b∙á usinτá NSWP¼á yo⌡ caε archivσ datßá int∩á thσá absolutσ ì
minimuφ amoun⌠ oµ spacσ possible«á Thσ S╤ algorithφ useΣ iε NSW╨ ì
i≤á bette≥ thaε thσ onσ iε thσ origina∞ ├ squeezer¼á anΣ produce≤ ì
the smallest output file possible with current technology.
Thσ filσ squeeze≥ sectioε wa≤ donσ b∙ Jiφá Lopushinsky¼á anΣ ì
i≤á copyrighteΣá separatel∙ b∙ him«á Hσ als∩ ha≤ ß publiπá domaiε ì
standalone squeezer, call NSQ.
Setting the tagged files status
Yo⌡á ma∙ se⌠ thσ attribute≤ oµ ß grou≡ oµ taggeΣ file≤á jus⌠ ì
likσ STAT¼ o≥ PROT« T∩ d∩ this¼ taτ thσ files¼ anΣ selec⌠ thσ "Yó ì
command.
12. B0: CDP1 . 40K : y Which flags (1-4,R,S,A)? r,s
Setting ---> B0: BRUN .COM to R/O SYS
Thσá flag≤ yo⌡ ma∙ se⌠ arσ thσ F1-F┤ flags¼á a≤ wel∞ a≤á thσ ì
ReaΣ Only¼á System¼á anΣ Archivσ (MP/M¼á CP/═ │ only⌐ flags«á An∙ ì
flag≤á yo⌡ d∩ no⌠ specif∙ wil∞ bσ reset«á T∩ rese⌠ al∞ thσá flag≤ ì
(IE║á Changσ t∩ R/W¼ DI╥ anΣ n∩ "Syso≡ tag")¼ jus⌠ ente≥ ß singlσ ì
commß o≥ spacσ a⌠ thσ "WhicΦ flagsó prompt«á Notσ tha⌠ thσá flag≤ ì
iεá thσá "WhicΦ flagsó questioε d∩ no⌠ havσ t∩ bσ entereΣ witΦá ß ì
commß betweeε them¼á a≤ anythinτ (o≥ nothinτ a⌠ all!⌐ wil∞ do« A≤ ì
fa≥ a≤ thσ prograφ i≤ concerneΣ "RSA"¼á "╥ ╙ A"¼ anΣ "R,╙ Aó arσ ì
al∞ valid.
.paè Epilogue
Al∞ thσ function≤ oµ NSW╨ havσ no≈ beeε described«á Thσ bes⌠ ì
wa∙ t∩ ge⌠ morσ familia≥ witΦ thσ prograφ i≤ t∩ actuall∙ US┼á it« ì
╔ thinδ i⌠ wil∞ bσ onσ oµ you≥ mos⌠ frequentl∙ useΣ programs.
Therσá arσ severa∞ thing≤ iε thi≤ versioε tha⌠ yo⌡ wil∞ wan⌠ ì
to alter║
103H
Thi≤ bytσ control≤ thσ screeε lengtΦ useΣ iε thσ "V"ie≈á command« ì
I⌠ i≤ currentl∙ se⌠ t∩ 23─ (17H).
104H-10AH - Turn reverse video on
Thσ firs⌠ bytσ iε thi≤ sequencσ oµ seveε show≤ thσ lengtΦ oµá thσ ì
reversσá vide∩ oε sequence¼á whicΦ follow≤ a⌠ locatioε 105H«á Al∞ ì
seveε byte≤ arσ currentl∙ se⌠ t∩ zero.
10BH-111H - Turn reverse video off
Thσá firs⌠ bytσ iε thi≤ seqencσ oµ seveε show≤ thσ lengtΦ oµá thσ ì
reversσ vide∩ ofµ sequence¼á whicΦ follow≤ a⌠ locatioε 10DH«á Al∞ ì
seven bytes are currently set to zero.
Credits
M∙á thank≤á t∩á al∞á wh∩ madσá thi≤á prograφá possible¼á anΣ ì
especiall∙á t∩á Davσá Mccrad∙á fo≥á hi≤á hel≡á iεá composinτá thσ ì
documentatioεá anΣ .HL╨ file≤ fo≥ NSWP«á Thank≤ als∩ goe≤ t∩á Jiφ ì
Lopushinsky¼á als∩ oµ Edmonton¼á sincσ withou⌠ hiφ thσ S╤ sectioε ì
oµ NSW╨ migh⌠ neve≥ havσ beeε completedí Thank≤ t∩ thσ usσ oµ hi≤ ì
SQ section, NSWP can produce the smallest possible SQ'ed files.
Contributions
Iµ yo⌡ like¼ usσ anΣ enjo∙ thi≤ program¼ fee∞ freσ t∩ senΣ ß ì
contributioεá (sugges⌠á $20)«á Thi≤á wil∞ hel≡á mσá expanΣá thi≤ ì
program¼á anΣ adΣ eveε morσ features« ╔ aφ currentl∙ workinτ oε ß ì
CP/═ 8╢ version¼ anΣ oncσ tha⌠ i≤ running¼ ╔ intenΣ t∩ por⌠ i⌠ t∩ ì
MSDOS«á Suggestion≤ fo≥ enhancemen⌠ arσ als∩ appreciated¼ anΣ yo⌡ ì
ma∙ senΣ theφ to:
Dave Rand
10232 - 160 Street
Edmonton, Alberta CANADA
T5P 3E9